package com.ylsk.check.domain.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ylsk.common.annotation.Excel;
import com.ylsk.common.core.domain.MybatisPlusBaseEntity;
import com.ylsk.system.domain.FileSimple;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 进场上报对象 ins_entry_report
 *
 * @author yangsy
 * @date 2023-12-20
 */
@Data
public class EntryReportVO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 进场上报id */
    @TableId
    private Long entryReportId;

    /** 施工报备id */
    @Excel(name = "施工报备id")
    private Long reportInfoId;

    @Excel(name = "报备单号")
    private String reportNum;

    @Excel(name = "报备项目名称")
    private String projectName;

    /** 进场时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "进场时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 是否占道 (0否 1是) */
    @Excel(name = "是否占道",readConverterExp = "0=否,1=是")
    private Integer isJeeves;

    /** 占道长度 */
    @Excel(name = "占道长度")
    private BigDecimal jeevesLength;

    /** 占道宽度 */
    @Excel(name = "占道宽度")
    private BigDecimal jeevesWidth;

    /** 占道开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "占道开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jeevesStartDate;

    /** 占道截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "占道截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jeevesEndDate;

    /** 施工开始时间 */
    @Excel(name = "施工开始时间", width = 30, dateFormat = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    private Date consStartTime;

    /** 施工截止时间 */
    @Excel(name = "施工截止时间", width = 30,dateFormat = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    private Date consEndTime;

    /** 施工开始路段id */
    private Long expresswayStartSectionId;

    /** 施工开始路段名称 */
    @Excel(name = "施工开始路段名称")
    private String expresswayStartSectionName;


    /** 施工结束路段id */
    private Long expresswayEndSectionId;

    /** 施工结束路段名称 */
    @Excel(name = "施工结束路段")
    private String expresswayEndSectionName;

    /** 施工开始方向(上行 下行 上下行) */
    @Excel(name = "施工开始方向",readConverterExp = "0=上行,1=下行,2=上下行")
    private String jeevesStartDirection;

    /** 施工结束方向(上行 下行 上下行) */
    @Excel(name = "施工结束方向",readConverterExp = "0=上行,1=下行,2=上下行")
    private String jeevesEndDirection;

    /** 占道开始桩号 */
    @Excel(name = "占道开始桩号")
    private String jeevesStartPile;

    /** 占道结束桩号 */
    @Excel(name = "占道结束桩号")
    private String jeevesEndPile;

    /** 现场照片及视频 */
    private Long entryFileId;

    /** 现场照片及视频集合 */
    private List<FileSimple> entryFile;
    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 道路名称 */
    @Excel(name = "道路名称")
    private String roadName;

    /** 方向 */
    @Excel(name = "方向")
    private String direction;

    /** 所属大队 */
    private Long deptId;

    /** 管辖大队名称 */
    private String deptName;

    /** 审核人 */
    private Long reviewedBy;

    /** 备注内容 */
    private String remark;

    /** 创建人名称 */
    private String createByName;

    /** 创建人时间 */
    private String createTime;

    /**
     * 部门联系人电话
     */
    private String deptPhone;

    /**
     * 部门联系人
     */
    private String deptLeader;
}
